Lorsque nous mettons un serveur en ligne sur internet, nous avons tous a subir de nombreuses tentatives de connexion sur le port ssh (et oui les attacques ssh par dictionnaire sont courantes). Il est difficile de fermer se port que nous utilisons pour nous connecter de chez nous à notre serveur préféré (pas toujour simple de n'utiliser que la console!!!). Je me suis souvent posé la question "comment sécuriser mon serveur tout en ayant facilement accès à celui-ci par ssh?". J'ai alors découvert "Denyhost".
Le principe de Denyhost est simple : c'est un daemon qui analyse en permanence le fichier de log /var/log/auth.log et qui au bout de plusieures (Cf configuration) tentatives de connexion infructueuses blacklist l'IP en cause dans le fichier /etc/hosts.deny
L'administrateur pourra même être averti par mail lorsqu'une IP sera mise en liste noire
Il vous suffit, pour cela, d'installer le paquet denyhosts .
Le daemon denyhost est tout de suite opérationnel. Cependant, vous pouvez personnalisé la configuration en éditant le fichier /etc/denyhosts.conf
Vous pourrez alors configurer de nombreuses options parmi lesquelles :
Je vais vous épargner l'ensemble des variables de configuration car elles sont plutôt nombreuses. Ils vous suffit d'aller voir le fichier de configuration qui est très bien commenté.
Il est intéressant alors de compléter le fichier /etc/hosts.allow avec les adresses IP à partir desquelles vous vous connectez le plus souvent. Vous pouvez meme définir des plage d'adresse ou des domaines pour lesquels vous ne serez jamais bloqué meme en cas d'échec important.
la syntaxe dans le fichier /etc/hosts.allow sera de cette forme là :
ALL: 192.168.1. ALL: 192.168.12. ALL: .mondomaine.com
Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.